package com.pn.service;

import com.pn.entity.Auth;
import com.pn.entity.Result;
import com.pn.entity.Role;
import com.pn.page.Page;

import java.util.List;

public interface RoleService {

    /**
     * 查询所有角色
     *
     * @return 所有角色
     */
    List<Role> queryAllRole();

    /**
     * 根据用户id查询用户角色
     *
     * @param userId 用户id
     * @return 用户角色集合
     */
    List<Role> queryUserRoleByUid(Integer userId);


    /**
     * 分页查询角色
     *
     * @param page 分页对象
     * @param role 条件查询封装对象
     * @return 包含数据和分页信息
     */
    Page queryRoleByPage(Page page, Role role);

    /**
     * 添加角色
     *
     * @param role 角色对象
     * @return
     */
    Result addRole(Role role);

    /**
     * 修改角色描述
     *
     * @param role 角色参数对象
     */
    Result setRoleDescByRid(Role role);

    /**
     * 删除角色
     *
     * @param roleId 角色id
     * @return
     */
    Result removeRoleByRid(Integer roleId);

    /**
     * 修改角色状态接口 0 禁用 1启用
     *
     * @param role 角色对象
     * @return
     */
    Result setRoleStateByRid(Role role);


}
